package abs.service;

import abs.domain.Companias;
import abs.domain.Documentos;
import abs.domain.GrupoClientes;
import abs.domain.GrupoProveedores;
import abs.domain.Proveedores;
import abs.domain.Retenciones;
import abs.domain.Sucursales;
import abs.domain.TipoClientes;
import abs.domain.TipoProveedores;

import java.util.List;
import java.util.Set;

/**
 * Spring service that handles CRUD requests for Companias entities
 * 
 */
public interface CompaniasService {

	/**
	 * Save an existing Sucursales entity
	 * 
	 */
	public Companias saveCompaniasSucursaleses(String co000nocia, Sucursales related_sucursaleses);

	/**
	 */
	public Companias findCompaniasByPrimaryKey(String co000nocia_1);

	/**
	 * Save an existing Retenciones entity
	 * 
	 */
	public Companias saveCompaniasRetencioneses(String co000nocia_2, Retenciones related_retencioneses);

	/**
	 * Delete an existing GrupoProveedores entity
	 * 
	 */
	public Companias deleteCompaniasGrupoProveedoreses(String companias_co000nocia, String related_grupoproveedoreses_grppr100cdgo);

	/**
	 * Save an existing GrupoClientes entity
	 * 
	 */
	public Companias saveCompaniasGrupoClienteses(String co000nocia_3, GrupoClientes related_grupoclienteses);

	/**
	 * Delete an existing Companias entity
	 * 
	 */
	public void deleteCompanias(Companias companias);

	/**
	 * Delete an existing TipoClientes entity
	 * 
	 */
	public Companias deleteCompaniasTipoClienteses(String companias_co000nocia_1, String related_tipoclienteses_tipocl100cdgo);

	/**
	 * Save an existing Proveedores entity
	 * 
	 */
	public Companias saveCompaniasProveedoreses(String co000nocia_4, Proveedores related_proveedoreses);

	/**
	 * Load an existing Companias entity
	 * 
	 */
	public Set<Companias> loadCompaniass();

	/**
	 * Delete an existing GrupoClientes entity
	 * 
	 */
	public Companias deleteCompaniasGrupoClienteses(String companias_co000nocia_2, String related_grupoclienteses_grpcl100cdgo);

	/**
	 * Save an existing GrupoProveedores entity
	 * 
	 */
	public Companias saveCompaniasGrupoProveedoreses(String co000nocia_5, GrupoProveedores related_grupoproveedoreses);

	/**
	 * Delete an existing Sucursales entity
	 * 
	 */
	public Companias deleteCompaniasSucursaleses(String companias_co000nocia_3, String related_sucursaleses_co001cdgo);

	/**
	 * Return a count of all Companias entity
	 * 
	 */
	public Integer countCompaniass();

	/**
	 * Delete an existing TipoProveedores entity
	 * 
	 */
	public Companias deleteCompaniasTipoProveedoreses(String companias_co000nocia_4, String related_tipoproveedoreses_tipopr100cdgo);

	/**
	 * Save an existing TipoProveedores entity
	 * 
	 */
	public Companias saveCompaniasTipoProveedoreses(String co000nocia_6, TipoProveedores related_tipoproveedoreses);

	/**
	 * Save an existing TipoClientes entity
	 * 
	 */
	public Companias saveCompaniasTipoClienteses(String co000nocia_7, TipoClientes related_tipoclienteses);

	/**
	 * Delete an existing Retenciones entity
	 * 
	 */
	public Companias deleteCompaniasRetencioneses(String companias_co000nocia_5, String related_retencioneses_rt100cdgo);

	/**
	 * Save an existing Companias entity
	 * 
	 */
	public void saveCompanias(Companias companias_1);

	/**
	 * Delete an existing Proveedores entity
	 * 
	 */
	public Companias deleteCompaniasProveedoreses(String companias_co000nocia_6, Integer related_proveedoreses_pr100copr);

	/**
	 * Return all Companias entity
	 * 
	 */
	public List<Companias> findAllCompaniass(Integer startResult, Integer maxRows);

	/**
	 * Save an existing Documentos entity
	 * 
	 */
	public Companias saveCompaniasDocumentoses(String co000nocia_8, Documentos related_documentoses);

	/**
	 * Delete an existing Documentos entity
	 * 
	 */
	public Companias deleteCompaniasDocumentoses(String companias_co000nocia_7, String related_documentoses_co030codi);
}